package com.study.easyexcel.common.domain;

import com.alibaba.excel.converters.Converter;

import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * 工作溥
 *
 * @author yuhuan
 * @date 2023/7/3
 */
public class ExcelSheet<T> {

    /**
     * 工作溥的名称
     */
    private String sheetName;

    /**
     * 工作溥的数据类型
     */
    private Class<T> pojoClass;

    /**
     * 工作溥的列表数据
     */
    private List<T> mateList;

    /**
     * 全局类型转换器
     */
    private Converter<?> converter;

    /**
     * 包含的列名
     */
    private Set<String> includeColumnFiledNames;

    /**
     * 要排除的列名
     */
    private Set<String> excludeColumnFiledNames;

    /**
     * 下拉框列表[字段名:值列表]
     */
    Map<String, String[]> dropdownBoxList;

    public String getSheetName() {
        return sheetName;
    }

    public void setSheetName(String sheetName) {
        this.sheetName = sheetName;
    }

    public Class<T> getPojoClass() {
        return pojoClass;
    }

    public void setPojoClass(Class<T> pojoClass) {
        this.pojoClass = pojoClass;
    }

    public List<T> getMateList() {
        return mateList;
    }

    public void setMateList(List<T> mateList) {
        this.mateList = mateList;
    }

    public Set<String> getIncludeColumnFiledNames() {
        return includeColumnFiledNames;
    }

    public void setIncludeColumnFiledNames(Set<String> includeColumnFiledNames) {
        this.includeColumnFiledNames = includeColumnFiledNames;
    }

    public Set<String> getExcludeColumnFiledNames() {
        return excludeColumnFiledNames;
    }

    public void setExcludeColumnFiledNames(Set<String> excludeColumnFiledNames) {
        this.excludeColumnFiledNames = excludeColumnFiledNames;
    }

    public Converter<?> getConverter() {
        return converter;
    }

    public void setConverter(Converter<?> converter) {
        this.converter = converter;
    }

    public Map<String, String[]> getDropdownBoxList() {
        return dropdownBoxList;
    }

    public void setDropdownBoxList(Map<String, String[]> dropdownBoxList) {
        this.dropdownBoxList = dropdownBoxList;
    }
}
